MAP: A Pascal Macro Preprocessor for Large Program Development
نویسنده
چکیده
The programming language Pascal waH originally designed for tcaching introductory programming, currently, however, production systems use it as the primary implementation language. This paper describes extensions of Pascal intended to aid the large program developer. The extensions are implemented in a macro preprocessor MAP, which supports constant expression evaluation, source file inclusion, conditional compilation, and macro substitution. While each of these features can be used independently, they are all implemented with a simple, uniform syntax. Furthermore, in keeping wi th the spirit of Pascal, an attempt has been made to make the facilities straightforward and simple. ~he design and implementation details arc discussed.
منابع مشابه
Macro Impact Analysis Using Macro Slicing
The expressiveness of the C/C++ preprocessing facility enables the development of highly configurable source code. However, the usage of language constructs like macros also bears the potential of resulting in highly incomprehensible and unmaintainable code, which is due to the flexibility and the “cryptic” nature of the preprocessor language. This could be overcome if suitable analysis tools w...
متن کاملAn Empirical Analysis of C Preprocessor Use
This is the first empirical study of the use of the C macro preprocessor, Cpp. To determine how the preprocessor is used in practice, this paper analyzes 26 packages comprising 1.4 million lines of publicly available C code. We determine the incidence of C preprocessor usage—whether in macro definitions, macro uses, or dependences upon macros— that is complex, potentially problematic, or inexpr...
متن کاملOpening Up The C/C++ Preprocessor Black Box
File inclusion, conditional compilation and macro processing has made the preprocessor a powerful tool for programmers. Preprocessor directives are extensively used in C/C++ programs and have various purposes. However, program code with lots of directives often causes problems in program understanding and maintenance. The main source of the problem is the difference between the code that the pr...
متن کاملImplementation of Language Enhancements
Data abstractions have been proposed as a mean,, to enhance program modularity. The implementation of such ne~ features to an existing language is typically handled bx either rewriting large portions of an existing compiler or by using a preprocessor 1o translate the extensions into the standard language. The first technique is expensixe to implement while the latter is usuall 3 slov, and clums...
متن کاملService Layer for IDE Integration of C/C++ Preprocessor Related Analysis
Software development in C/C++ languages is tightly coupled with preprocessor directives. While the use of preprocessor constructs cannot be avoided, current IDE support for developers can still be improved. Early feedback from IDEs about misused macros or conditional compilation has positive effects on developer productivity and code quality as well. In this paper we introduce a service layer f...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 9 شماره
صفحات -
تاریخ انتشار 1979